package chapter02

import "github.com/gin-gonic/gin"

func Router(chap02 *gin.RouterGroup) {
	chap02.GET("/user", User)
	chap02.GET("/user_struct", UserInfoStruct)
	chap02.GET("/arr", ArrController)
	chap02.GET("/arr_struct", ArrStruct)
	chap02.GET("/map", MapController)
	chap02.GET("/map_struct", MapStruct)

	// 带参数路由
	// http://localhost:9000/param1/123,,,无参数会匹配不到
	chap02.GET("/param1/:id", Param1)
	// 带星号会自动获取到路由前面的/,,,/123，，，有无参数都可以匹配
	chap02.GET("/param2/*id", Param2)

	//用参数名key的方式获取参数
	// http: //localhost:9000/query?id=123
	chap02.GET("/query", GetQueryData)
	// http://localhost:9000/query_arr?id=12,32,21,65
	chap02.GET("/query_arr", GetQueryArrData)
	// http://localhost:9000/query_map?user[id]=1&user[name]=wjf
	chap02.GET("/query_map", GetMapData)

	// post请求
	chap02.GET("/to_user_add", ToUserAdd)
	chap02.POST("/do_user_add", DoUserAdd)

	// DefaultPostForm请求
	chap02.GET("/to_user_add2", ToUserAdd2)
	chap02.POST("/do_user_add2", DoUserAdd2)

	// ajax请求
	chap02.GET("/to_user_add3", ToUserAdd3)
	chap02.POST("/do_user_add3", DoUserAdd3)

	// 参数绑定
	chap02.GET("/to_user_add4", ToUserAdd4)
	chap02.POST("/do_user_add4", DoUserAdd4)

	// 表单文件传输
	chap02.GET("/test_to_upload1", ToUpload1)
	chap02.POST("/test_do_upload1", DoUpload1)

	// 表多文件传输
	chap02.GET("/test_to_upload2", ToUpload2)
	chap02.POST("/test_do_upload2", DoUpload2)

	// ajax单文件
	// 表多文件传输
	chap02.GET("/test_to_upload3", ToUploadFile3)
	chap02.POST("/test_do_upload3", DoUploadFile3)

}
